#include <stdlib.h> требуется только для объявления функции
char *ecvt(value, ndigits, decptr,signptr);
double value; преобразуемое число
int ndigits; количество запоминаемых цифр
int *decptr; указатель на запомненное положение десятичной точки
int *signptr; указатель на запомненный индикатор знака
Описание.
Функция ecvt преобразовывает число с плавающей точкой в символьную строку. Value - это число с плавающей точкой, которое должно быть преобразовано. Ecvt запоминает цифры ndigits из value как строку и добавляет к ней нулевой символ ('\0'). Если количество цифр в value превышает ndigits , последняя значащая цифра округляется. Если цифр меньше, чем ndigits , строка дополняется нулями.
В строке хранятся только цифры. Положение десятичной точки и знака в value может быть определено после вызова функции из decptr и signptr . Аргумент decptr указывает на целое число, определяющее положение десятичной точки относительно начала строки. 0 или отрицательное значение означают, что десятичная точка расположена левее первой цифры. Аргумент signptr указывает на целое, определяющее знак преобразуемого числа. Если signptr равно 0, число положительное, иначе - отрицательное.
Возвращаемое значение.
Функция ecvt возвращает указатель на строку цифр. В случае ошибки возвращаемого значения нет.
Замечание.
Функции ecvt и fcvt используют для преобразования один и тот же статически распределенный буфер. Каждое обращение к одной из этих процедур уничтожает результат предыдущего обращения.
Пример:
#include <stdlib.h>
int decimal, sign;
char *buffer;
int preciision=10;
buffer=ecvt(3.1415926535,precision,&decimal,&sign);
/*буфер содержит "3141592654",decimal=1,sign=0*/